Labels

Syntax:

    <label> ::= '.'|'?'|' _'|<letter> {'.'|'?'|' _'|<letter>|<digit>} [#Constant]

Description:

Labels in a macro assembler can be divided by extent into global and local, and because of the value represented on fixed labels and assembly variables. In addition, there is a group of labels that are the names of the macro definition and numbered labels.

Global labels are visible from anywhere in the program. These are labels whose names do not begin with a period character '`.` '. Local labels are labels with a range limited to the local area that occurs between global label definitions. Additionally, there is a new local area within the drop-down macro definition. The names of all local labels begin with a period character '`.` '.

Fixed assemble labels are labels defined by assigning a value to an operator `= or` by a sum in the label field that indicates the assignment of the current address. These labels cannot be re-labeled.

Assembly variable labels are labels defined by assigning values to an operator `.=` or `. SET`. Their value may change when reassigned.

Numbered labels are a way to dynamically define new labels by placing a `#` and a constant (label number) label behind the label name.

Macro definition name labels are global labels (cannot begin with a period'`.` ') and do not interfere with identically named fixed or variable labels.

Examples of definitions:

    alpha:        ; global fixed label 'alpha' with a value equal to
                ; current address
`beta= 5; global fixed label 'beta' with` a value of`5.`
    .loop            ; local constant label '.loop'
    .n    .= 0        ; local variable label '.n' with a value of 0.
    adr#4            ; global numbered fixed label
    .adr#[.n+1]        ; local numbered constant label
`Print. MACRO; global label macro` definition `name`